package com.framework.loippi.entity;

import com.framework.loippi.mybatis.eitity.GenericEntity;
import com.framework.loippi.mybatis.ext.annotation.Column;
import com.framework.loippi.mybatis.ext.annotation.Table;

import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * Entity - 药品表
 *
 * @author wmj
 * @version 2.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "T_MEDICINE")
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties({"handler", "hibernateLazyInitializer"})
@ApiModel(value = "药品表", description = "药品表")
public class TMedicine implements GenericEntity {

    private static final long serialVersionUID = 5081846432919091193L;

    /**
     * ID
     */
    @Column(id = true, name = "id", updatable = false)
    @ApiModelProperty(value = "ID")
    private Long id;

    /**
     * 药品名称
     */
    @Column(name = "name")
    @ApiModelProperty(value = "药品名称")
    private String name;

    /**
     * 药品分类规格中间表ID
     */
    @Column(name = "classify_specification_id")
    @ApiModelProperty(value = "药品分类规格中间表ID")
    private Long classifySpecificationId;

    /**
     * 分类一级ID
     */
    @Column(name = "stair_id")
    @ApiModelProperty(value = "分类一级ID")
    private Long stairId;

    /**
     * 分类一级名称
     */
    @Column(name = "stair_name")
    @ApiModelProperty(value = "分类一级名称")
    private String stairName;

    /**
     * 分类二级ID
     */
    @Column(name = "second_level_id")
    @ApiModelProperty(value = "分类二级ID")
    private Long secondLevelId;

    /**
     * 分类二级名称
     */
    @Column(name = "second_level_name")
    @ApiModelProperty(value = "分类二级名称")
    private String secondLevelName;

    /**
     * 品牌ID
     */
    @Column(name = "brand_id")
    @ApiModelProperty(value = "品牌ID")
    private Long brandId;

    /**
     * 品牌名称
     */
    @Column(name = "brand_name")
    @ApiModelProperty(value = "品牌名称")
    private String brandName;

    /**
     * 审核状态（1-通过2-待审核,3未通过）
     */
    @Column(name = "type")
    @ApiModelProperty(value = "审核状态（1-通过2-待审核,3未通过）")
    private Integer type;

    /**
     * 售卖状态（1-上架2-下架）
     */
    @Column(name = "status")
    @ApiModelProperty(value = "售卖状态（1-上架2-下架）")
    private Integer status;

    /**
     * 药品缩略图
     */
    @Column(name = "thumbnail_pic")
    @ApiModelProperty(value = "药品缩略图")
    private String thumbnailPic;

    /**
     * 排序
     */
    @Column(name = "sorts")
    @ApiModelProperty(value = "排序")
    private Integer sorts;

    /**
     * 库存
     */
    @Column(name = "repertory")
    @ApiModelProperty(value = "库存")
    private Integer repertory;

    /**
     * 图文详情
     */
    @Column(name = "product_details")
    @ApiModelProperty(value = "图文详情")
    private String productDetails;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;

    /**
     * 是否在首页显示(1-是2-否)
     */
    @Column(name = "image")
    @ApiModelProperty(value = "药品图片")
    private String image;

    /**
     * 已售
     */
    @Column(name = "sellCount")
    @ApiModelProperty(value = "已售")
    private Integer sellcount;

    /**
     * 药品价格
     */
    @Column(name = "price")
    @ApiModelProperty(value = "药品价格")
    private java.math.BigDecimal price;

    /**
     * 最高价格
     */
    @Column(name = "max_price")
    @ApiModelProperty(value = "最高价格")
    private java.math.BigDecimal maxPrice;

    /**
     * 收藏数量
     */
    @Column(name = "collectNum")
    @ApiModelProperty(value = "收藏数量")
    private Integer collectnum;

    /**
     * 划线价格
     */
    @Column(name = "line_price")
    @ApiModelProperty(value = "划线价格")
    private java.math.BigDecimal linePrice;

    /**
     * 最高划线价格
     */
    @Column(name = "max_line_price")
    @ApiModelProperty(value = "最高划线价格")
    private java.math.BigDecimal maxLinePrice;

    /**
     * 默认药品详情Id
     */
    @Column(name = "product_detail_id")
    @ApiModelProperty(value = "默认药品详情Id")
    private Long productDetailId;

    /**
     * 商家Id
     */
    @Column(name = "shop_id")
    @ApiModelProperty(value = "商家Id")
    private Long shopId;

    /**
     * 商户名称
     */
    @Column(name = "shop_name")
    @ApiModelProperty(value = "商户名称")
    private String shopName;

    /**
     * SKU
     */
    @Column(name = "SKU")
    @ApiModelProperty(value = "SKU")
    private String sku;

    /**
     * 审核通过/不通过原因
     */
    @Column(name = "reason")
    @ApiModelProperty(value = "审核通过/不通过原因")
    private String reason;

    /**
     * 二维码
     */
    @Column(name = "qr_code")
    @ApiModelProperty(value = "二维码")
    private String qrCode;

    /**
     * 更新时间
     */
    @Column(name = "update_time")
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;

    /**
     * 是否是礼包药品(1-是 2-否)
     */
    @Column(name = "is_gift")
    @ApiModelProperty(value = "是否是礼包药品(1-是 2-否)")
    private Integer isGift;

    /**
     * 是否开启总规格（1-开启  2-关闭）
     */
    @Column(name = "is_open")
    @ApiModelProperty(value = "是否开启总规格（1-开启  2-关闭）")
    private Integer isOpen;

    /**
     *
     */
    @Column(name = "source_id")
    @ApiModelProperty(value = "")
    private Long sourceId;

    /**
     *
     */
    @Column(name = "variety")
    @ApiModelProperty(value = "")
    private String variety;

    /**
     *
     */
    @Column(name = "recommend")
    @ApiModelProperty(value = "")
    private Integer recommend;

    /**
     *
     */
    @Column(name = "recommend_top")
    @ApiModelProperty(value = "")
    private Integer recommendTop;

    /**
     *
     */
    @Column(name = "tag")
    @ApiModelProperty(value = "")
    private String tag;

    /**
     *
     */
    @Column(name = "video_url")
    @ApiModelProperty(value = "")
    private String videoUrl;

    /**
     *
     */
    @Column(name = "shop_recommend")
    @ApiModelProperty(value = "")
    private Integer shopRecommend;

    /**
     *
     */
    @Column(name = "shop_recommend_sorts")
    @ApiModelProperty(value = "")
    private Integer shopRecommendSorts;

    /**
     *
     */
    @Column(name = "shop_category_name")
    @ApiModelProperty(value = "")
    private String shopCategoryName;

    /**
     * 药品简介
     */
    @Column(name = "medicine_desc")
    @ApiModelProperty(value = "药品简介")
    private String medicineDesc;

    /**
     * 药品名称首字母
     */
    @Column(name = "medicine_letters")
    @ApiModelProperty(value = "药品名称首字母")
    private String medicineLetters;

    /**
     * 药品轮播图
     */
    @ApiModelProperty(value = "药品轮播图")
    private List<String> images;

    /**
     * 优惠比例
     */
    @Column(name = "preferential")
    @ApiModelProperty(value = "优惠比例")
    private java.math.BigDecimal preferential;

    /**
     * 最大优惠比例
     */
    @Column(name = "maxpreferential")
    @ApiModelProperty(value = "最大优惠比例")
    private java.math.BigDecimal maxpreferential;


    /**
     * 药品图片轮播
     */
    @ApiModelProperty(value = "图片轮播")
    private List<String> picList;


    @ApiModelProperty(value = "图片轮播")
    private List<String> medicinePics;
}
